=== Selected instructions for function1 ===
Basic Block #0 (IR: <unnamed>)
        COPY    R13, %19:gp32sr     //n
        COPY    R12, %18:gp32sr     //c
        COPY    R11, %17:gp32sr     //b
        COPY    R10, %16:gp32sr     //a
        MOV_A   0, %21:gp32sr       //i
        SLT     %21:gp32sr, %19:gp32sr, %0:gp32sr       //i<n -> %0
        MOV_A   1, %22:gp32sr       //1
        SLT     %19:gp32sr, %22:gp32sr, %23:gp32sr      //n<1 ->%23
        MOV_A   0.000000, %20:fp32sr                    //float sum = 0.0f;
        [%23:gp32sr] SBR 6
        SBR 1
Basic Block #1 (IR: <unnamed>)
        MOV_A   0, %2:gp32sr    //0->%2
        COPY    %2:gp32sr, %25:gp32sr   //0->%25
        COPY    %2:gp32sr, %24:gp32sr   //0->%24
        COPY    %19:gp32sr, %1:gp32sr   //n->%1
        SBR 4
Basic Block #2 (IR: <unnamed>)
        SAND    1, %0:gp32sr, %41:gp32sr
        MOV_A   0, %42:gp32sr
        SEQ     %41:gp32sr, %42:gp32sr, %43:gp32sr
        MOV_A   0.000000, %40:fp32sr
        [%43:gp32sr] SBR 6
        SBR 3
Basic Block #3 (IR: <unnamed>)
        MOV_A   0, %4:gp32sr
        COPY    %4:gp32sr, %45:gp32sr
        COPY    %4:gp32sr, %44:gp32sr
        COPY    %19:gp32sr, %3:gp32sr
        MOV_A   0.000000, %46:fp32sr
        SBR 5
Basic Block #4 (IR: <unnamed>)
        PHI     %5:gp32sr, %24:gp32sr, 1, %7:gp32sr, 4
        PHI     %6:gp32sr, %25:gp32sr, 1, %8:gp32sr, 4
        SSHFLL  2, %5:gp32sr, %26:gp32sr    //i*4 -> %26
        SADD    %17:gp32sr, %26:gp32sr, %27:gp32sr  //b+i*4 -> %27
        SLDW3   *+%27:gp32sr[0],%28:fp32sr          //b[i] -> %28
        SADD    %16:gp32sr, %26:gp32sr, %29:gp32sr  //a+i*4 -> %29
        SLDW3   *+%29:gp32sr[0],%30:fp32sr      //a[i] -> %30
        SFADDS32        %30:fp32sr, %28:fp32sr, %31:fp32sr  //31 += a[i] + b[i]
        SADD    %18:gp32sr, %26:gp32sr, %32:gp32sr  //c+i*4 -> %32
        SSTW3   %31:fp32sr, *+%32:gp32sr[0]     //c[i] = %31
        SADD    1, %5:gp32sr, %7:gp32sr         //i++
        MOV_A   0, %33:gp32sr                   //0-> %33
        SEQ     %7:gp32sr, %33:gp32sr, %34:gp32sr   //i==0 -> %34
        MOV_A   1, %35:gp32sr                       //1-> %35  
        SELECT  %36:gp32sr, %34:gp32sr, %35:gp32sr, %33:gp32sr      // %36 = (i==0) ? 1 : 0
        SADD    %6:gp32sr, %36:gp32sr, %8:gp32sr    //%8 +=  %36
        SXOR    %7:gp32sr, %1:gp32sr, %37:gp32sr    //i XOR n -> %37
        SOR     %37:gp32sr, %8:gp32sr, %38:gp32sr   //%38 = %8 | (%7 XOR %1)
        SEQ     %38:gp32sr, %33:gp32sr, %39:gp32sr  //%39 = (%38 == 0) ? 1 : 0
        [%39:gp32sr] SBR 2
        SBR 4
Basic Block #5 (IR: <unnamed>)
        PHI     %9:gp32sr, %44:gp32sr, 3, %13:gp32sr, 5
        PHI     %10:gp32sr, %45:gp32sr, 3, %14:gp32sr, 5
        PHI     %11:fp32sr, %46:fp32sr, 3, %12:fp32sr, 5
        SADD    1, %9:gp32sr, %13:gp32sr
        MOV_A   0, %47:gp32sr
        SEQ     %13:gp32sr, %47:gp32sr, %48:gp32sr
        MOV_A   1, %49:gp32sr
        SELECT  %50:gp32sr, %48:gp32sr, %49:gp32sr, %47:gp32sr
        SADD    %10:gp32sr, %50:gp32sr, %14:gp32sr
        SXOR    %13:gp32sr, %3:gp32sr, %51:gp32sr
        SOR     %51:gp32sr, %14:gp32sr, %52:gp32sr
        SEQ     %52:gp32sr, %47:gp32sr, %53:gp32sr
        SSHFLL  2, %9:gp32sr, %54:gp32sr
        SADD    %18:gp32sr, %54:gp32sr, %55:gp32sr
        SLDW3   *+%55:gp32sr[0],%56:fp32sr
        SFADDS32        %11:fp32sr, %56:fp32sr, %12:fp32sr
        SXOR    1, %53:gp32sr, %57:gp32sr
        [%57:gp32sr] SBR 5
        SBR 6
Basic Block #6 (IR: <unnamed>)
        PHI     %15:fp32sr, %20:fp32sr, 0, %40:fp32sr, 2, %12:fp32sr, 5
        COPY    %15:fp32sr, R10
        .RET
=== Selected instructions for test ===
Basic Block #0 (IR: <unnamed>)
        # ADDframe PSEUDO
        # ADDframe PSEUDO
        # ADDframe PSEUDO
        MOV_A   10, %3:gp32sr
        COPY    %0:gp32sr, R10
        COPY    %1:gp32sr, R11
        COPY    %2:gp32sr, R12
        COPY    %3:gp32sr, R13
        CALL function1,_%_P1_%_P2_%_P3_%_P4,RETR
        COPY    R10, %5:fp32sr
        COPY    %5:fp32sr, R10
        .RET